package day20.String;

import java.util.Scanner;

public class number {
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入电话号：");
        String number = scanner.nextLine();

        // 验证输入是否合法
        if (!checkNumber(number)) {
            System.out.println("输入的手机号格式不正确，程序终止！");
            System.exit(1); 
        }

        // 方法1：使用substring
        String result1 = method1Substring(number);
        System.out.println("方法1 substring处理后: " + result1);

        // 方法2：使用replace
        String result2 = method2Replace(number);
        System.out.println("方法2 replace处理后: " + result2);
        
    }

    // 验证手机号是否合法
    public static boolean checkNumber(String number) {

        if (number == null) {
            return false;
        }

        if (number.length() != 11) {
            return false;
        }

        // 检查号码中的每一位字符是否都是数字
        for (int i = 0; i < number.length(); i++) {
            if (!Character.isDigit(number.charAt(i))) {
                return false;
            }
        }
        return true;
    }

    // 方法1：使用substring截取前后部分并拼接****
    public static String method1Substring(String number) {
        // 截取前3位 + **** + 截取后4位
        String prefix = number.substring(0, 3);
        String suffix = number.substring(7);
        return prefix + "****" + suffix;
    }

    // 方法2：使用replace替换中间四位
    public static String method2Replace(String number) {
        // 先截取中间四位，然后用replace替换
        String middle = number.substring(3, 7);
        return number.replace(middle, "****");
    }
}